package com.skylink.gaea.common.constant;

/**
 * 枚举事件
 * 主要用于枚举定义的参考事例代码。
 *
 * @author zeno
 */
public enum EnumSample {

	/** 构造方法事例 */
	SAMPLE("sample", 0);

	EnumSample(String code, int status) {
		this.code = code;
		this.status = status;
	}

	/** 枚举编码 */
	private final String code;

	/** 枚举状态值 */
	private final int status;

	/**
	 * 获取枚举编码值
	 *
	 * @return 枚举编码值
	 */
	public String code() {
		return code;
	}

	/**
	 * 获取枚举状态值
	 *
	 * @return 枚举状态值
	 */
	public int status() {
		return status;
	}

	/**
	 * 根据 枚举编码 获取枚举对象
	 *
	 * @param code 枚举编码
	 *
	 * @return 枚举对象
	 */
	public EnumSample of(String code) {

		for (EnumSample e : EnumSample.values()) {
			if (e.code.equalsIgnoreCase(code)) {
				return e;
			}
		}

		return null;
	}

	/**
	 * 根据 状态值 获取枚举对象
	 *
	 * @param status 状态值
	 *
	 * @return 枚举对象
	 */
	public EnumSample of(int status) {

		for (EnumSample e : EnumSample.values()) {
			if (e.status == status) {
				return e;
			}
		}

		return null;
	}
}
